A delay can be included in a clock or strobe path to strobe data in the center of an eye pattern. The delay can be subject to voltage and temperature (VT) variation. The delay can also be dependant on a frequency of the clock or strobe. The delay can be implemented using a conventional standard cell-based programmable delay. The conventional standard cell-based programmable delay can be implemented by cascading single delay elements with each delay element controlled by a respective control bit.
The conventional standard cell-based programmable delay does not allow changing the delay settings without altering the clock or strobe signal, or propagating glitches. In the conventional delay, the switching of the control bits can cause glitches to form in the delay elements. The glitches can be propagated to the clock or strobe output. The glitches can corrupt the clock or strobe signal passing through the delay circuit. Compensation for the disadvantages of the conventional standard cell-based programmable delay can involve added overhead that (i) disrupts or disables the clock or strobe signal during the period when the delay control is updated and (ii) blocks any propagated glitches from triggering a false sampling of data or from further propagating through the system.
It would be desirable to have a system for glitch-free delay updates of a standard cell-based programmable delay that may be used to adapt delay settings with VT variation without disrupting the clock or strobe. It would be further desirable for the adaptation to be transparent to the overall system in which the clock or strobe path is a part.